main(){
  slice(1, 3);

  //按位置传参，跟书写位置有关
  slice2(1, 3);

  //按名称传参，跟书写顺序无关

  slice3(1, end: 3,step: 2);  

}

//必传参数
int add(int a,int b){
  return a+b;
}


/// 对数据进行切片操作
/// 
/// [start] 表示切片的开始索引（包含）
/// [end] 表示切片的结束索引（可选，不包含）
void slice(int start,int? end){
  print('切片开始索引$start,结束索引$end');
}

//可选参数
void slice2(int start,[int? end]){

  print('切片开始索引$start,结束索引$end');
} 
//可选命名参数
void slice3(int start,{int? end,int step=1}){
  print('切片开始索引$start,结束索引$end,步长$step');
}


